a=1
class C:
    #print(a)
    a=2
    # print(a)
    #
    #
    # class D:
    #     # print(globals())
    #     # print(locals())
    #     print(a) #注意，这里不会找class C 中的a,而找到的是第一行的a
    # #1的１次方，2的1次方……，由此可知用的是外层的a=logging.conf
    # x=[i**a for i in range(5)]
    # print(x)

    @staticmethod
    def sm():#这里也会找到外层的a=logging.conf，而不会找到类中的a=2
        print(a)

    @classmethod
    def cm(cls):
        print(cls.a)#这里打印的就是C.a
        a=23
        print(a)

    def m(self):#找的也是全局的a
        print(a)

    def m2(self):#找的也是全局的a
        #print(a)
        a=2
        #print(a)


#print(2**3)
#C.sm()
#C.cm()
C().m()